package main

import "fmt"

func show(n interface{}) {
	fmt.Println(n)
}
func add(n interface{}) {
	// 类型断言：确保值的类型
	// v断言成功后的值，ok布尔型
	// v, ok := n.(int)
	// fmt.Println(v, ok)
	if v, ok := n.(int); ok {
		fmt.Println("传递的是数字：", v)
	} else if v, ok := n.(string); ok {
		fmt.Println("传递的是字符串：", v)
	}
}

func main() {
	add(10)
	add("hello")

	// show("hello")
	// show(100)
	// show(true)

	// 创建映射
	// 值的类型是任意的
	person := make(map[string]interface{})
	person["name"] = "小明"
	person["age"] = 18
	person["is_married"] = false
	// fmt.Println(person)

}
